LW2000

 

Nombre:      ACDSee

Versión:       2.41

Editor:         ACD Systems

Víctima:       ACDSEE32.EXE

Herramientas:       SoftICE

                            W32Dasm

                            HIEW

                            Cerebro

Cracker:                LW2000

Tutorial:                número 13

URL:                      http://www.acdsystems.com

 

Renuncia: Este tutorial tiene una finalidad únicamente educativa. No asumo ninguna responsabilidad por el mal uso de éste material.

 

1.     Arrancamos ACDSee y vamos a ‘Help’, ‘About’, ‘Register Now’. Introducimos ‘LW2000@GMX.NET’ como UserName y ‘1230099’ como Serial.

2.     Hacemos click en el botón ‘Ok’. ¡Boooom! “Your name and registration code do not match.” ¡Típico ‘bug’! Pulsamos el botón ‘Ok’ para cerrar la messageBox. ¡Vamos a ‘corregirlo’!

3.     Pulsamos Ctrl-D para cambiarnos a SoftICE. Ahora ponemos un breakpoint en ‘getDlgItemTextA’ con “BOX GETDLGITEMTEXTA”. Pulsamos F5 para seguir ejecutando el programa. Pulsamos el botón ‘Ok’ nuevamente. SoftICE aparece. Ahora pulsamos F11 para ir a la instrucción que realizó la llamada:

 

:00459049 FFD5         call ebp

:0045904B 8B15C0035000 mov edx, dword ptr [005003C0] >Aquí

:00459051 8D442414      lea eax, dword ptr [esp+14]

:00459055 8D4C2410      lea ecx, dword ptr [esp+10]

:00459059 50            push eax

 

4.     Traceamos el código con F10 hasta que lleguemos aquí:

 

:004590A0 8D54241C      lea edx, dword ptr [esp+1C]

:004590A4 85D2          test edx, edx    >Aquí

:004590A6 741E          je 004590C6

 

5.     EDX y EAX se comparan. “D EDX” nos omstrará nuestro Name. Parece que nuestra ‘criaturita’ comprueba si hemos introducido un Name.

6.     Pulsamos F10 hasta lleguar aquí:

 

:004590C6 8D8424F4000000     lea eax, dword ptr [esp+000000F4]

:004590CD 85C0               test eax, eax     >Aquí

:004590CF 7424               je 004590F5

 

7.     ¡Esto nos suena! “D EAX” nos mostrará nuestro Serial falso:

 

:00459105 6A00          push 00000000

:00459107 3BF8          cmp edi, eax     >Aquí

:00459109 0F85E7000000  jne 004591F6

 

8.     Usamos F10 hasta llegar aquí:

 

:00459121 E8FAEFFFFF    call 00458120

:00459126 83F801        cmp eax, 00000001      >Aquí

:00459129 7443          je 0045916E

 

9.     Parece interesante. Introducimos “BC *” para borrar todos los breakpoint. Después hacemos doble click en ‘:00459126 83F801 CMP EAXM,00000001’, para poner un breakpoint en ésa línea. Ahora introducimos “R EAX = 1” para cambiar el registro EAX a 1.

10.  Pulsamos F5. ¡Wow! Parece un crack muy sencillo pero, ¡espere! Echamos un vistazo a la barra de títulos de ACDSee. ¡¡¡Todavía ‘UnRegistered’!!!

11.  ¡Hmmm! Cerramos ACDSee y lo arrancamos nuevamente. Pero, todavía está ‘UnRegistered’, por lo que vamos a echar nuevamente un vistazo al código:

 

:00459121 E8FAEFFFFF    call 00458120           >¡Hmmm! ¿Qué es esto?

:00459126 83F801        cmp eax, 00000001       >Nuestra manipulación

:00459129 7443          je 0045916E

 

12.  Antes de ‘nuestra manipulación’ hay un ‘CALL’ a una función. Vamos a ésa línea ‘:00459121 E8FAEFFFFF CALL 00458120’, y pulsamos F8 para tracear ése ‘CALL’:

 

:00458120 83EC24        sub esp, 00000024       >Estamos aquí

:00458123 53            push ebx

:00458124 55            push ebp

:00458125 56            push esi

:00458126 8B742434      mov esi, dword ptr [esp+34]

 

13.  Y ahora seguimos el mismo procedimiento: traceamos con F10 hasta llegar aquí:

 

:00458177 83C410   add esp, 00000010

:0045817A 85C0     test eax, eax         >Aquí

:0045817C 740F     je 0045818D

 

14.  Vamos a probar de nuevo. “BD *” para desactivar todos los breakpoint. Hacemos doble click en ‘:00458177 83C410 ADD ESP,00000010’, para poner un breakpoint. Ahora introducimos “R EAX = 1”. Pulsamos F5 para seguir.

15.  ¡Hmmm! ¡¡¡Registrados!!! Cerramos ACDSee y lo volvemos arrancar.

16.  Aparece SoftICE en la mismo sitio en el que nos hemos detenido anteriormente. Escribimos de nuevo “R EAX = 1”. Si hemos reiniciado el ‘browser’ tendremos que hacer lo mismo dos veces. Bien, echamos un vistazo a la barra de títulos. ¡Sólo aparece nuestro Name! Vamos a hacer que éstos cambios sean permanentes.

17.  Echamos un vistazo al código:

 

:00458177 83C410             add esp, 00000010

:0045817A 85C0               test eax, eax     >Aquí

:0045817C 740F               je 0045818D       >¡Hmmmm!

 

18.  Escribimos “BD *” y pulsamos F5. Cerramos ACDSee y arrancamos W32Dasm. Desensamblamos “ACDSEE32.EXE”. Ahora pulsamos ‘Shift-F12’ e introducimos ‘0045817C’.

19.  Ponemos la barra verde en la línea:

 

:0045817C 740F               je 0045818D

 

Y echamos un vistazo a la barra de estado:

        

...@Offset 0005817Ch in File: ACDSee32.exe

 

20.  Nuestro offset es ‘005817C’. Cerramos W32Dasm y arrancamos HIEW con ‘ACDSEE32.EXE’.

21.  Pulsamos Intro dos veces y vamos al modo DeCode. Pulsamos F5 e introducimos ‘005817C’. Bien, ahora ya estamos en el sitio correcto. Pulsamos F3 para editar el fichero. Cambiamos el ‘740F’ a ‘750F’. Esto cambia el ‘JE’ a ‘JNE’. Ahora ACDSee acepta sólo Serials falsos. Pulsamos F9 para actualiar el fichero y F10 para salir.

22.  Arrancamos ACDSee e introducimos nuestros datos.

 

¡Enhorabuena! ¡Ya es un usuario registrado!

 

¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme un email a LW2000@gmx.net. o vaya a http://www.LW2000.cjb.net

 

Gracias a tKC por sus tutoriales. Empecé leyendo su primer tutorial y todavía sigo leyéndolos.

 

Traducción de: MeGaBiTe